<html>
<head><meta charset="utf-8"><title>k# , r#$ , editions · t-lang · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/index.html">t-lang</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html">k# , r#$ , editions</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="232471061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232471061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232471061">(Mar 30 2021 at 18:08)</a>:</h4>
<p>Following up from the meeting: <span class="user-mention" data-user-id="125270">@scottmcm</span>, you mentioned you had some specific issue with the proposed textual changes to your RFC?</p>



<a name="232471309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232471309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232471309">(Mar 30 2021 at 18:10)</a>:</h4>
<p>Basically it changed the conclusion of the rationale without changing any of the premises.</p>



<a name="232471489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232471489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232471489">(Mar 30 2021 at 18:11)</a>:</h4>
<p>Oh! I see. Yeah, the premise "It was important that old editions support raw identifiers, but old editions do not need to support raw keywords" would need to be updated.</p>



<a name="232471516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232471516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232471516">(Mar 30 2021 at 18:11)</a>:</h4>
<p>I didn't notice that because it wasn't in the diff context.</p>



<a name="232471577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232471577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232471577">(Mar 30 2021 at 18:11)</a>:</h4>
<p><span class="user-mention" data-user-id="125270">@scottmcm</span> So, to clarify something, would you be willing to accept a PR similar to <a href="https://github.com/scottmcm/rfcs/pull/1">https://github.com/scottmcm/rfcs/pull/1</a> that updates the other points as well?</p>



<a name="232471842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232471842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232471842">(Mar 30 2021 at 18:13)</a>:</h4>
<p>Basically I remain unconvinced that any (admittedly small) work to add these to 2015 and 2018 is worth bothering.  So I'd want to see some reason it'd be important -- especially since there are no features that will be showing up to use this for probably another year anyway.</p>



<a name="232471976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232471976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232471976">(Mar 30 2021 at 18:14)</a>:</h4>
<p><span class="user-mention" data-user-id="125270">@scottmcm</span> I'm trying to figure out whether you're expressing strong opposition, mild opposition, or simply non-support.</p>



<a name="232472124"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232472124" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232472124">(Mar 30 2021 at 18:15)</a>:</h4>
<p>"Mild opposition" sounds like the best fit.</p>



<a name="232472227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232472227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232472227">(Mar 30 2021 at 18:16)</a>:</h4>
<p>That's helpful, thank you.</p>



<a name="232472265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232472265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232472265">(Mar 30 2021 at 18:16)</a>:</h4>
<p>Especially assuming that <a href="https://github.com/rust-lang/rfcs/pull/3085">https://github.com/rust-lang/rfcs/pull/3085</a> lands.</p>



<a name="232472384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232472384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232472384">(Mar 30 2021 at 18:17)</a>:</h4>
<p>Can you elaborate on why you feel RFC 3085 affects this?</p>



<a name="232472651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232472651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232472651">(Mar 30 2021 at 18:19)</a>:</h4>
<p>Because of the explicit statements it contains about things like</p>
<blockquote>
<p>However, we may sometimes opt to issue warnings or deprecations where the best fix involves moving to a new edition.</p>
</blockquote>
<p>and how editions are expected to be adopted.</p>



<a name="232472884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232472884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232472884">(Mar 30 2021 at 18:20)</a>:</h4>
<p>The opening summary of that RFC also says "Whenever possible, new features should be made to work across all editions".</p>



<a name="232472929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232472929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232472929">(Mar 30 2021 at 18:21)</a>:</h4>
<p>And to me, <code>k#</code> is the mechanism by which we automatically make that happen for future editions, for any feature whose sole incompatibility with past editions is a new keyword.</p>



<a name="232473063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232473063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232473063">(Mar 30 2021 at 18:22)</a>:</h4>
<p>Effectively, by adding <code>k#</code> to 2021+, and adding <code>r#$</code> to 2015/2018, we automatically fulfill that goal for anything involving keywords, without having to put any per-feature effort into it.</p>



<a name="232473178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232473178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232473178">(Mar 30 2021 at 18:23)</a>:</h4>
<p>I'm not, in general, proposing that we push to make every feature work on older editions; in most cases, I think if we run into friction making a feature work on an old edition, we can just <em>not</em>, and require moving to the new edition to get that feature. I think this specific proposal should be an exception to that, precisely because it's designed to make other such things easier in the future.</p>



<a name="232484931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232484931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232484931">(Mar 30 2021 at 19:39)</a>:</h4>
<p>To be clear: <code>r#$</code> would be added to <em>all editions</em>, not just 2015/2018, right <span class="user-mention" data-user-id="239881">@Josh Triplett</span> ?</p>



<a name="232485446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232485446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232485446">(Mar 30 2021 at 19:42)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> I was assuming that <code>r#$</code> would only apply in 2015/2018. cc <span class="user-mention" data-user-id="116009">@nikomatsakis</span></p>



<a name="232491830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232491830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232491830">(Mar 30 2021 at 20:24)</a>:</h4>
<p><span class="user-mention" data-user-id="239881">@Josh Triplett</span> they have to exist on 2021 at least to permit migration</p>



<a name="232491868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232491868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232491868">(Mar 30 2021 at 20:24)</a>:</h4>
<p>I don't really have a strong opinion about that, but I'd probably make them work on any edition</p>



<a name="232491939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232491939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232491939">(Mar 30 2021 at 20:25)</a>:</h4>
<p><span class="user-mention silent" data-user-id="239881">Josh Triplett</span> <a href="#narrow/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions/near/232472884">said</a>:</p>
<blockquote>
<p>The opening summary of that RFC also says "Whenever possible, new features should be made to work across all editions".</p>
</blockquote>
<p>this is a strong point :)</p>



<a name="232492056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232492056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232492056">(Mar 30 2021 at 20:25)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions/near/232491868">said</a>:</p>
<blockquote>
<p>I don't really have a strong opinion about that, but I'd probably make them work on any edition</p>
</blockquote>
<p>but have a warn-by-default lint against them on Rust 2021+ that rewrites to either <code>k#foo</code> or just <code>foo</code>, depending on what edition you are in</p>



<a name="232492576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232492576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232492576">(Mar 30 2021 at 20:29)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I'm fine with that. I don't strongly care whether the old syntax works on 2021 or not, so if it's preferable for it to work, by all means.</p>



<a name="232498056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232498056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232498056">(Mar 30 2021 at 21:05)</a>:</h4>
<p>I feel like "whenever possible" is actually meaning "whenever practical", since it's always <em>possible</em> to make something work on an old edition (with attributes, magic macros, <code>do catch</code>, etc).</p>



<a name="232510699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232510699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232510699">(Mar 30 2021 at 22:58)</a>:</h4>
<p><span class="user-mention" data-user-id="125270">@scottmcm</span> I agree with that, in general.</p>



<a name="232510732"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/k%23%20%2C%20r%23%24%20%2C%20editions/near/232510732" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/k.23.20.2C.20r.23.24.20.2C.20editions.html#232510732">(Mar 30 2021 at 22:59)</a>:</h4>
<p>But it seems like we have a practical solution proposed here.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>